﻿using Kendo.Mvc.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using TS2015.Models;
using Kendo.Mvc.Extensions; // Chú ý thêm thư viện này
using System.Data.Entity;

namespace TS2015.Areas.Admin.Controllers
{
    public class HomeController : Controller
    {
        // Tạo 1 đối tượng 
        TS2015Context db = new TS2015Context();
      
        // GET: /Admin/Home/

            public ActionResult Index()
            {
                if(!Request.IsAjaxRequest())
                return View(db.TbHeDaoTaos.ToList());

                ViewBag.Ajax = "(Sự kiện Ajax)";
                return PartialView(db.TbHeDaoTaos.ToList());
            }
   
        // Hàm lấy dữ liệu khi phân trang
        public ActionResult EditingPopup_Read([DataSourceRequest] DataSourceRequest request)
        {
            // Chỉ cần đổi tên bảng cần lấy dữ liệu (TbHeDaoTaos) 
            return Json(db.TbHeDaoTaos.ToDataSourceResult(request));
        }
     
        //        

        // Hàm thêm mới dữ liệu khi bấm nút thêm (Phương thức POST)
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult EditingPopup_Create([DataSourceRequest] DataSourceRequest request,/* Đổi tên bảng TbHeDaoTao*/ TbHeDaoTao data)
        {
            if (data != null && ModelState.IsValid)
            {
                /*Đổi tên bảng TbHeDaoTaos*/
                db.TbHeDaoTaos.Add(data);
                db.SaveChanges();
            }

            return Json(ModelState.ToDataSourceResult());
        }

        // Hàm cập nhật dữ liệu (Phương thức POST)
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult EditingPopup_Update([DataSourceRequest] DataSourceRequest request,/* Đổi tên bảng TbHeDaoTao*/ TbHeDaoTao data)
        {
            if (data != null && ModelState.IsValid)
            {
                db.Entry(data).State = EntityState.Modified;
                db.SaveChanges();
            }

            return Json(ModelState.ToDataSourceResult());
        }

        // Hàm xóa dữ liệu (Phương thức POST)
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult EditingPopup_Destroy([DataSourceRequest] DataSourceRequest request,/* Đổi tên bảng TbHeDaoTao*/ TbHeDaoTao data)
        {
            if (data != null)
            {
                /* Đổi tên bảng TbHeDaoTao và Khóa*/
                TbHeDaoTao itemdata = db.TbHeDaoTaos.First(item => item.MaHeDaoTao == data.MaHeDaoTao);
                db.TbHeDaoTaos.Remove(itemdata);
                db.SaveChanges();
            }

            return Json(ModelState.ToDataSourceResult());
        }

        public ActionResult Details(int id)
        {
            return View();
        }
    }
}
